<!-- 
类组件
state =  {}
this.state.键
this.setState(对象/函数, callback)

留心1：this指向
留心2：setState 1-保存数据到内存，2-重新触发render 因此要小心死循环

函数组件
const [数据, set数据] = useState(默认值)
留心1：useState会重新触发函数  大家要避免死循环
留心2：useState仅初始化一次

class vs function

1 函数组件无状态、无生命适应期 可以通过hooks解决
2 类型组件有this指向问题、没有函数方便后期维护（因为函数里面可以把data/methods/mounted等一起写  按功能来写方便后期封装维护）

setState同步异步：18-  react语法异步，原生js语法同步  18+都是异步
setState合并：异步 合并，同步 不合并
-->
